package com.gmd.historiaclinica.action;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.gmd.historiaclinica.service.HistoClinicaService;
import com.gmd.model.Historiaclinica;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class RegHistoriaClinicaAction extends ActionSupport implements ModelDriven<Historiaclinica>  {
	
	private static final long serialVersionUID = 1L;

	HistoClinicaService service;
	
	Historiaclinica historiaclinica;
	List<String> sexos;
	List<String> estados;
	List<String> documentos;
	
	public RegHistoriaClinicaAction(){
		service = new HistoClinicaService();
		historiaclinica = new Historiaclinica();
		
		sexos = new ArrayList<String>();
		sexos.add("Femenino");
		sexos.add("Masculino");
		
		estados = new ArrayList<String>();
		estados.add("Soltero");
		estados.add("Casado");
		estados.add("Divorciado");
		estados.add("Viudo");
		estados.add("Conviviente");
		
		documentos = new ArrayList<String>();
		documentos.add("DNI");
		documentos.add("Pasaporte");
		documentos.add("P.Nacimiento");
		
		int id = service.generarCodHistoClinica();
		historiaclinica.setIdhistoriaclinica(id);
		historiaclinica.setFechape(new Date());
	}
	
	//Methods
	
	public String execute(){
		return SUCCESS;
	}
	
	public String registrar(){
		String retorno = SUCCESS;
		try {
			historiaclinica.setFecnac((Date)historiaclinica.getFecnac());
			service.registrarHistoClinica(historiaclinica);
			addActionMessage("La historia Clinica se registro correctamente");
		} catch (Exception e) {
			addActionMessage(e.getMessage());
			retorno = ERROR;
		}
		return retorno;
	}
	
	public String salir(){
		return "salir";
	}

	//Implements Model
	
	@Override
	public Historiaclinica getModel() {
		return historiaclinica;
	}

	//Getters an Setters
	
	public Historiaclinica getHistoriaclinica() {
		return historiaclinica;
	}

	public void setHistoriaclinica(Historiaclinica historiaclinica) {
		this.historiaclinica = historiaclinica;
	}

	public List<String> getSexos() {
		return sexos;
	}

	public void setSexos(List<String> sexos) {
		this.sexos = sexos;
	}

	public List<String> getEstados() {
		return estados;
	}

	public void setEstados(List<String> estados) {
		this.estados = estados;
	}

	public List<String> getDocumentos() {
		return documentos;
	}

	public void setDocumentos(List<String> documentos) {
		this.documentos = documentos;
	}
	
}
